C++函数参数问及<<>>运算符重载问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 09:38:58
我要重载<<和>>运算符,是他们具有保存到文件和输出文件内容的功能,而且输入输出的数据类型是自定义的类(如class A{private:int a;string b;public:....},重载<<的原型为:ostream &operator<<(ostream &os,const classType object,....),我想设置第三个参数为保存到磁盘的目录,比如把E:\\a.txt传个第三个参数,请问函数原型中的第三个参数该如何编写?而后又该如何实现呢?
回答得很好加分

不能。<<操作符只有两个操作数,一个不能多,一个也不能少。除了()操作符外,任何操作符的操作数都是固定的,不能增加和减少。这是规定。

用char*传递。
ostream & operator<<(ostream & os,const classType obj,char * filename)
{
ostream fin(filename);
fin<<obj.geta()<<obj.getb();
fin(close);
os<<obj.geta()<<obj.getb();
return os;
}